package org.mall.modules.cash.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.mall.common.util.jsonschema.Long2StringSerializer;
import org.mall.common.util.jsonschema.String2LongDeserialize;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @Description: 提现交易记录表
 * @Author: jeecg-boot
 * @Date:   2019-12-31
 * @Version: V1.0
 */
@Data
@TableName("cash_transaction")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="cash_transaction对象", description="提现交易记录表")
public class CashTransaction {
    
	/**id*/
	@TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "id")
	@JsonDeserialize(using = String2LongDeserialize.class)
	@JsonSerialize(using = Long2StringSerializer.class)
	private Long id;
	/**cashId*/
	@Excel(name = "cashId", width = 15)
    @ApiModelProperty(value = "cashId")
	@JsonDeserialize(using = String2LongDeserialize.class)
	@JsonSerialize(using = Long2StringSerializer.class)
	private Long cashId;
	/**createIp*/
	@Excel(name = "createIp", width = 15)
    @ApiModelProperty(value = "createIp")
	private String createIp;
	/**orderId*/
	@Excel(name = "orderId", width = 15)
    @ApiModelProperty(value = "orderId")
	@JsonDeserialize(using = String2LongDeserialize.class)
	@JsonSerialize(using = Long2StringSerializer.class)
	private Long orderId;
	/**price*/
	@Excel(name = "price", width = 15)
    @ApiModelProperty(value = "price")
	private Integer price;
	/**tradeNo*/
	@Excel(name = "tradeNo", width = 15)
    @ApiModelProperty(value = "tradeNo")
	private String tradeNo;

	/**createTime*/
	@Excel(name = "createTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "createTime")
	private Date createTime;
	/**updateTime*/
	@Excel(name = "updateTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "updateTime")
	private Date updateTime;
	/**paymentTime*/
	@Excel(name = "paymentTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "paymentTime")
	private Date paymentTime;
	/**wxOpenId*/
	@Excel(name = "wxOpenId", width = 15)
    @ApiModelProperty(value = "wxOpenId")
	private String wxOpenId;
	/**status*/
	@Excel(name = "status", width = 15)
    @ApiModelProperty(value = "status")
	private Integer status;
	/**response*/
	@Excel(name = "response", width = 15)
    @ApiModelProperty(value = "response")
	private String response;

	private String errorCode;
	private String errorMessage;
}
